/*
 ============================================================================
 Name		: BlockSetFirstPage.h
 Author	  : Zhang Jiawei
 Version	 : 1.0
 Copyright   : Your copyright notice
 Description : CBlockSetFirstPage declaration
 ============================================================================
 */

#ifndef BLOCKSETFIRSTPAGE_H
#define BLOCKSETFIRSTPAGE_H

// INCLUDES
#include <e32std.h>
#include <e32base.h>
#include "Block.h"
#include "global.h"

// CLASS DECLARATION

/**
 *  CBlockSetFirstPage
 * 
 */
class CBlockSetFirstPage :  public CBlock
{
public:
    ~CBlockSetFirstPage();

    static CBlockSetFirstPage* NewL(CBaseBlock* bsBack);

    static CBlockSetFirstPage* NewLC(CBaseBlock* bsBack);

public:
    void OnDraw(CFbsBitGc& g) const;

    void OnKeyDown(TInt keyCode);

    void OnMouseUp(const TPoint& aPt);

    void SizeChanged();

private:
    CBlockSetFirstPage(CBaseBlock* bsBack);

    void ConstructL();

protected:
    void AddTabs();

    void BeforeDraw(CFbsBitGc& g) const;

public: // from MTabbarObserver
    void HandleTabbarCommand(TInt aCommand);

private:
    TBuf<16> iTip;
    CDesCArray* m_Options;
    TInt m_nCurrent;
    TInt m_nSelected;
};

#endif // BLOCKSETFIRSTPAGE_H
